package com.atguigu.product.service;

import com.atguigu.param.*;
import com.atguigu.pojo.Product;
import com.atguigu.to.OrderToProduct;
import com.atguigu.utils.R;
import com.baomidou.mybatisplus.extension.service.IService;

import java.util.List;

/**
 * ClassName:ProductService
 * Package:com.atguigu.product.service
 * Description:
 *
 * @Author 应永豪
 * @Create 2024/4/21 21:09
 * @Version 1.0
 */
public interface ProductService extends IService<Product> {
    R promo(String categoryName);

    R hots(ProductHotParam param);

    R clist();

    R byCategory(ProductIdsParam param);

    R detail(Integer productID);

    R pictures(Integer productID);

    List<Product> allList();

    R search(ProductSearchParam param);

    R ids(List<Integer> productIds);

    List<Product> cartList(List<Integer> productIds);

    void subNumber(List<OrderToProduct> orderToProductList);

    Long adminCount(Integer categoryId);

    R adminSave(ProductSaveParam param);
}
